#include "interface_io.h"

Interface_IO::Interface_IO() {
    thread_1  = new QThread;
    io_module = new IO();
    io_module->moveToThread( thread_1 );
    connect( thread_1, SIGNAL( started() ), io_module, SLOT( sltIOInit() ) );
    connect( thread_1, SIGNAL( finished() ), thread_1, SLOT( deleteLater() ) );
    thread_1->start();
    thread_1->setPriority( QThread::TimeCriticalPriority );
}

/**
 * @brief Interface_IO::threeColorControlFlash
 * @param i 闪烁类型：
 * 1：红，
 * 2：绿，
 * 3：黄,
 * @param cum 闪烁时长：ms
 * @return
 */
bool Interface_IO::threeColorControlFlash( int i, int cum ) {

    return true;
}
/**
 * @brief Interface_IO::threeColorControlLed
 * @param i 常亮类型：
 * 1：红，
 * 2：绿，
 * 3: 黄,
 * @return
 */
bool Interface_IO::threeColorControlLed( int i ) {
    return true;
}
/**
 * @brief Interface_IO::threeColorControldirLigh
 * @param i 转向控制
 * 直行:1，
 * 左转:2，
 * 右转:3，
 * 倒退:4
 * @return
 */
bool Interface_IO::threeColorControldirLigh( int i ) {
    return true;
}
/**
 * @brief Interface_IO::leftRigtServoControl
 * @param enable 伺服使能
 * @return
 */
bool Interface_IO::leftRigtServoControl( bool enable ) {
    return true;
}
/**
 * @brief Interface_IO::musicControl
 * @param i 音乐控制
 * 1:避障播报,
 * 2:传输异常播报,
 * 3:电池低压,
 * 4:紧急报警,
 * 5:行驶音乐
 * @return
 */
bool Interface_IO::musicControl( int i ) {}
/**
 * @brief Interface_IO::transmitControl
 * @param i 传输控制
 * 0:停止传输
 * 2:上层传出
 * 3:上层传入
 * 4:下层传出
 * 5:下层传入
 * 6:上出 下入
 * 7:上入 下出
 * 8:上左传出
 * 9:上左传入
 * 10:上右传出
 * 11:上右传入
 * 12:下左传出
 * 13:下左传入
 * 14:下右传出
 * 15:下右传入
 * 16:单左 上入 下出
 * 17:单右 上入 下出
 * @return
 */
bool Interface_IO::transmitControl( int i ) {
    return true;
}
/**
 * @brief Interface_IO::chargeControl
 * @param enable 充电继电器开关（小车充电块电刷上电压）
 * @return
 */
bool Interface_IO::chargeControl( bool enable ) {
    return true;
}
/**
 * @brief Interface_IO::forwardObsInput
 * @param front 前避障区
 * 1:兴颂传感器61区域    雷眸3区域
 * 2:兴颂传感器62区域    雷眸2区域
 * 3:兴颂传感器63区域    雷眸1区域
 * 4:兴颂传感器60区域    雷眸4区域
 * @return
 */
bool Interface_IO::forwardObsInput( int front ) {
    return true;
}
/**
 * @brief Interface_IO::backObsInput
 * @param back 后避障区
 * 1:min
 * 2:mid
 * 3:max
 * 4:max
 * @return
 */
bool Interface_IO::backObsInput( int back ) {
    return true;
}
/**
 * @brief Interface_IO::refreshAllData
 * @return 刷新所有数据（通过信号）
 */
bool Interface_IO::refreshAllData() {
    return true;
}
